﻿// ********************************************
// ClassName  ：  {filename}
// Author        ：  
// Company     ： 智测心控
// Version        ：V1.0
// CreateTime ： {date}
// Description ：  
// ********************************************

using System;
using System.ServiceModel;

namespace WcfService.ReviewService
{
    /// <summary>
    /// 回顾服务
    /// </summary>
    [ServiceContract]
    public interface IReviewService
    {
        /// <summary>
        /// 事件回顾信息查询
        /// </summary>
        /// <param name="patId">病人ID</param>
        /// <param name="time">时间</param>
        /// <param name="level">级别</param>
        /// <param name="limit">每页多少条</param>
        /// <param name="pageIndex">第几页</param>
        /// <returns>事件回顾信息</returns>
        [OperationContract]
        string EventReview(Guid patId, DateTime? time, int level, int limit, int pageIndex);

        /// <summary>
        /// NIBP回顾页面
        /// </summary>
        /// <param name="patId">病人ID</param>
        /// <param name="time">日期</param>
        /// <param name="nsFrom">收缩压开始</param>
        /// <param name="nsTo">收缩压结束</param>
        /// <param name="ndFrom">舒张压开始</param>
        /// <param name="ndTo">舒张压结束</param>
        /// <param name="nmFrom">平均压开始</param>
        /// <param name="nmTo">平均压结束</param>
        /// <param name="limit">每页数量</param>
        /// <param name="pageIndex">第几页</param>
        /// <returns>NIBP回顾信息</returns>
        [OperationContract]
        string NibpReview(Guid patId, DateTime? time,
            string nsFrom, string nsTo, string ndFrom, string ndTo, string nmFrom, string nmTo,
            int limit, int pageIndex);

        /// <summary>
        /// 获取监护记录
        /// </summary>
        /// <param name="time">归档日期</param>
        /// <param name="patientName">患者姓名</param>
        /// <param name="patientType">患者类型</param>
        /// <param name="limit">每页数量</param>
        /// <param name="pageIndex">第几页</param>
        /// <returns>监护记录Json字符串</returns>
        [OperationContract]
        string MonitoringRecordsReview(DateTime? time, string patientName, int patientType, int limit, int pageIndex);

        /// <summary>
        /// 趋势回顾根据时间查询波形数据
        /// </summary>
        /// <param name="patId">病人Id</param>
        /// <param name="statTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <returns>趋势回顾波形数据</returns>
        [OperationContract]
        string TrendMapReview(Guid patId, DateTime? statTime, DateTime? endTime);

        /// <summary>
        /// 趋势回顾根据时间查询表格数据
        /// </summary>
        /// <param name="patId">病人Id</param>
        /// <param name="statTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <returns>趋势回顾表格数据</returns>
        [OperationContract]
        string TrendGridReview(Guid patId, DateTime? statTime, DateTime? endTime);
    }
}
